#ifndef SINMOVIEWRITER_H
#define SINMOVIEWRITER_H

#include "SinMp4Analyzer.h"

class SinMovieWriter : public SinMp4Analyzer
{
public:

    SinMovieWriter ();

    ~SinMovieWriter ();

    UInt32 SinMp4ExportMovie (char* movieFilename);

    SinMp4TrackId SinMp4AddTrack (SinMp4TrackType   trackType,
                                          SinMp4MediaCodec  mediaCodec,
                                          UInt64            timeScale);

    UInt32 SinMp4AddExtension (SinMp4TrackId    mediaTrackId,
                                       SinSampleBuffer* extension);

    UInt32 SinMp4AddSample (SinMp4TrackId   mediaTrackId,
                                    SinSampleBuffer mediaBuffer);

    UInt32 SinMp4FinalizeTrack (SinMp4TrackId mediaTrack);

    UInt32 SinMp4FinalizeMovie ();
};

#endif // SINMOVIEWRITER_H
